package com.example.mybatis_demo.mapper;

import com.example.mybatis_demo.entity.UserEntity;
import com.sun.org.apache.bcel.internal.generic.LUSHR;
import org.apache.catalina.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper //数据持久层的标志
public interface UserMapper {

    //查询全部信息
    List<UserEntity> getAll();

    // 根据id 查询用户对象
    UserEntity getUserById(@Param("uid") Integer id);

    //根据名称查询用户对象
    UserEntity getUserByUserName(@Param("username")String username);

    //登录的方法
    UserEntity login(UserEntity user);

    // 排序
    List<UserEntity> getAllByIdOrder(@Param("order") String order);

    //删除
    int delById(@Param("id") Integer id);

    //修改
    int update(UserEntity userEntity);

    //添加
    int add(UserEntity user);

    //添加 自增id
    int insert(UserEntity user);

    List<UserEntity> getLikeList(@Param("username") String username);

    @Select("select * from userinfo where id=#{id}")
    UserEntity getUserById2(@Param("id")Integer id);

//    动态sql语句
    int add2(UserEntity userEntity);

    int add3(UserEntity userEntity);

    List<UserEntity> getListWhere(UserEntity userEntity);

    int update2(UserEntity userEntity);

    int delByIds(List<Integer> ids);
}
